Method to identify a suggested location for storing a data entry in a database

ABSTRACT

A method and system to identify a suggested location for storing a data entry in a database including a plurality of divisions is provided. The method includes receiving entry criteria associated with the data entry, and searching the database using the entry criteria to locate similar stored data entries. At least one division for data entries is identified wherein the stored data entries are located. The at least one division is then presented to a user as the suggested location. The method and system may be applied in a network-based auction facility and the data entry may then be a user listing. The method may thus include identifying at least one potentially relevant category for the user listing as the suggested location.

FIELD OF THE INVENTION

The present invention relates generally to a system and a method to identify a suggested location for storing a data entry in a database.

BACKGROUND

There is no question that the explosive growth of the Internet in recent years has changed classic business and economic models. One area in which this change has been noteworthy is in the auctioning and fixed price sale of both new and used listings or products (goods and/or services) via the Internet. Participants may provide incremental bids to purchase the product and, upon a bid being successful, the purchaser then pays the amount he or she bid to claim title to the product. Although the products offered for sale are usually goods, it is to be appreciated that the bidding procedure may apply equally to services.

A user listing a product on a network--based commerce facility must select a category or, optionally, more than one category in which the product is to be listed. Success in selling the product may be highly dependent upon the category or categories chosen by the user. However, due to the large number of listings up for auction and/or sale on most network-based commerce facilities, the user is typically bombarded with a vast number of categories in which a product may be listed. Many of the categories may however not be relevant.

SUMMARY OF THE INVENTION

In accordance with one aspect of the invention, there is provided a method to identify a suggested location for storing a data entry in a database including a plurality of divisions, the method including:

receiving entry criteria associated with the data entry;

searching the database using the entry criteria to locate similar stored data entries;

identifying at least one division for data entries wherein the stored data entries are located; and

presenting the at least one division as the suggested location to a user.

The invention extends to a system to facilitate searching of a database using multiple search criteria and to a machine-readable medium including instructions for executing any one of the methods described herein.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, arid not limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements and in which:

FIG. 1 shows a schematic block diagram of an exemplary network-based commerce facility in the form of a web-based auction facility, according to one embodiment of the present invention;

FIG. 2 shows a schematic diagram illustrating an exemplary database, maintained by, and accessed via a listings server, that at least partially implements and supports identification of a suggested category in accordance with an aspect of the present invention;

FIG. 3 shows an exemplary category table that includes a tree-structure of categories of listings;

FIG. 4 shows a schematic block diagram of exemplary components of a find suggested category module for finding an appropriate category for a listing in the database;

FIG. 5 shows a schematic screen shot of an embodiment of a find suggested category interface that allows a user to obtain a main or first suggested category in which to list a product in the auction facility;

FIG. 6 shows a schematic screen shot of an embodiment of a find suggested category interface that allows a user to obtain a second suggested category in which to list a product in the auction facility;

FIG. 7 shows a schematic screen shot of an embodiment of a feedback message interface that provides feedback to the user;

FIGS. 8A and 8B show a schematic flow diagram of a method, in accordance with one embodiment of the invention, for identifying a suggested location or category for storing a data entry in a database including a plurality of divisions;

FIG. 9 shows a schematic block diagram of a method, in accordance with one embodiment of the invention, to process results generated during execution of the method of FIG. 8; and

FIG. 10 shows a schematic high-level block diagram of an exemplary machine in the form of a computer system for executing any of the methodologies described herein.

DETAILED DESCRIPTION

Described herein is a system and a method, in accordance with an aspect of the present invention, to identify a suggested location for storing a data entry in a database including a plurality of divisions. In one embodiment, the database includes listings of products (goods and/or services) up for auction and/or sale, and the database has a plurality of divisions in the form of categories in which the listings may be stored.

It is to be appreciated that the invention may be applied to finding a suggested location for the storage of any data entry in any database including a plurality of divisions, irrespective of the nature of the specific data entries. For example, the data entries may be titles of books stored in a library database, motor vehicle spare parts stored in parts database, and so on. However, the application of the invention where the data entries are in the form of listings in a web-based commerce facility (e.g., a web-based auction facility and/or web-based fixed price sale facility) should be particularly, but not exclusively, borne in mind.

Web-Based Auction Facility

Referring to FIG. 1, there is shown a schematic block diagram of an exemplary network-based commerce facility in the form of a web-based auction facility according to one embodiment of the present invention. While exemplary embodiments of the present invention are described within the context of an auction facility, it will be appreciated by those skilled in the art that the invention will find application in many different types of computer-based, and network-based, commerce facilities including a fixed-price commerce network.

The auction facility includes an auction system 10 including one or more of a number of types of front-end servers, for example, page servers 12 that deliver web pages (e.g., markup language documents), picture servers 14 that dynamically deliver images to be displayed within Web pages, one or more listing servers 16 for posting new listings, ISAPI/CGI servers 18 that provide an intelligent interface to a back-end of the system 10, and search servers 20 that handle search requests to the system 10. A communication server including one or more e-mail servers 22 provides, inter alit, automated e-mail communications to users of the system 10. As described in more detail below, the listing server 16 selectively identifies and presents to a user one or more suggested categories in which the user can post listings.

The back-end of the auction system 10 may include a database engine server 24, a search index server 26 and a credit card database server 28, each of which maintains and facilitates access to a respective database. The back-end is also shown to include a number of administrative applications or functions 30 and the auction system 10 may be accessed by a client program 32, such as a browser (e.g., the Internet Explorer distributed by Microsoft Corp. of Redmond, Wash.) that executes on a client machine 34 and accesses the system 10 via a network such as, for example, the Internet 38. Thus, the client program 32 may define a web interface which communicates with a programmatic interface (e.g. one or more Application Program Interfaces (APIs)) running on the servers 12 to 20 of the system 10.

A database 36 (which may comprise several distributed databases) may store listings of products (including both goods and/or services) that are up for auction and/or sale to users via the Internet 38. As shown in FIG. 1, the database 36 may be maintained by, and accessed via, the database engine server 24, which at least partially implements and supports the auction system 10. The database 36 may be a relational database, and include a number of tables having data entries, or records, that are linked by indices and keys. In one embodiment, central to the database 36 is a user table 40 (see FIG. 2), which contains a record for each user of the auction system 10. A user may operate as a seller, a buyer, or both, within the auction system 10. The database 36 also includes listings tables 42 that may be linked to the user table 40. In one embodiment, the listings tables 42 include a seller listings table 44 and a bidder listings table 46. A user record in the user table 40 may be linked to multiple listings that are being, or have been, auctioned via the auction system 10. A number of other exemplary tables are also shown to be linked to the user table 40, namely a note table 48, a user past aliases table 50, a feedback table 52, a bids table 54, an accounts table 56, and an account balances table 58.

Referring in particular to FIG. 3 of the drawings, reference numeral 60 general indicates an exemplary arrangement of listings in the seller listings table 44. In one embodiment, listings of products up for sale and/or auction by the auction system 10 are arranged in divisions in the form of categories 62 to 68. It is to be appreciated that the number of categories may vary depending upon the nature of the web-based auction facility. Exemplary categories that may be included are Clothing and Accessories 62, Computers and Office Equipment 64, Motor Vehicles 66, Arts and Antiques (not shown), Musical Instruments (not shown), Pottery and Glass (not shown), Real Estate shown), and the like. In one embodiment, each category 62 to 68 may include sub-categories which may group listings in a particular category. For example, the Computers and Office Equipment category 64 may include a “Desktops” sub-category 70, a “Laptops” sub-category 72, a “Monitors” sub-category (not shown), and so on. Each sub-category 70, 72 may, in turn, include further details such as a plurality of attributes 74 as well as a plurality of keywords 76 which are associated with a particular category 62 to 68. For example, the Laptops sub-category 72 may include attributes 74 such as, processor speed, screen size, manufacturer, or any other attributes that may be associated with the particular listing.

It is to be appreciated that the number and type of attributes 74 associated with each category 62 to 68 may differ from one category to another. For example, as the category 62 relates to clothing, then a sub-category 73 may, for example, relate to men's pants and shorts and the attributes 74 may be associated with style, size, color, condition, minimum price, maximum price, and so on. Thus, the number and nature of the attributes 74 may differ from one embodiment to another and/or within the same embodiment.

In order to identify a suggested category for posting a listing in the database 36, the listing server 16 may include a find suggested category module 78 (see FIG. 4). The module 78 may include various functional components such as, a graphic user interface (GUI) generation component 80, a find query identification component 82, a search query build component 84, a process search results component 86, and a display search results component 88. In order to control the operation of the various components 80 to 88, a find control component 90 may be provided. The find suggested category module 78 may be defined by an application program interface (API) that interfaces the client program 32 and the listing servers 16. Further, it is to be appreciated that the components 80 to 90 need not be physically separate components and may be integrated into a software program. The components 80 and 90 should thus be viewed as functional blocks.

In use, as described in more detail below, the find suggested category module 78 provides a user with a suggested category in which a listing may be posted. In particular, the GUI generation component 80 generates and renders a suggested main category web page 92 (see FIG. 5) including a first search or listing criteria field 94 for entry of entry or find criteria in the form of listing criteria (for example keywords). Based on the listing criteria, the find suggested category module 78 generates a list of suggested categories in a results section 96 from which the user may select one or more appropriate categories (which may include sub-categories). In the embodiment where the auction facility is in the form of a web-based facility, the GUI generation module 80 generates an HTML page which is rendered via the Internet 38 to the client machine 34. Other components of the find suggested category module 78 are described in more detail below.

Although the components 80 to 90 are shown in. FIG. 4 as part of the Find Suggested Category module 78, it is to be appreciated that the functionality may in other embodiments be carried out by other components of the system 10. For example, the display results component 88 may communicate the results to be displayed to the page and picture servers 12, 14 (see FIG. 1) which then render the results of the find suggested category to the client machine 34.

Referring in particular to FIGS. 8A and B of the drawings, reference numeral 100 generally indicates a method, in accordance with the invention, for identifying finding a suggested location for storing a data entry in a database including a plurality of divisions. In the exemplary embodiment, the data entries are the form of a listing and the divisions are categories in which the listings may be posted.

As shown at block 102, the method 100 renders the find suggested main or first category web page 92 to the user (see FIG. 5). Thereafter, at the client machine 34, the user may enter identification criteria such as a keyword into the listing criteria field 94. The identification criteria are typically chosen by the user so that they, in the user's opinion, most accurately describe the listing. For example, if the user wishes to list a product or item such as silly putty, the user may then enter the keywords “silly putty” into the listing criteria field 94 (see block 104). Thereafter, the user activates a find button 106 (see block 108). In response to activation of the find button 106, the listings server 16 (see FIG. 1) receives the identification criteria (see block 110) which, in this example, are the keywords “silly putty”. Returning to FIG. 4, the find query identification component 82 may execute the aforementioned functionality.

In certain embodiments of the invention, the listing criteria entered by the user in the listing criteria field 94 may be filtered (see optional block 112) to remove unwanted or predefined keywords. For example, in categories which certain users do not have access to, for example, adult categories, words relating to these categories may be filtered from the listing criteria. It is, however, to be appreciated that any keywords (including symbols and numerals) may be removed to enhance operation of the method 100.

Once the listing server 16 receives the listing criteria from the client machine 34, a search query may then be built (see for example the search query build component 84 in FIG. 4) from the listing criteria (e.g., keywords) entered in the listing criteria field 94. Thereafter, the database 36 including the listings is searched as shown at block 114. In certain embodiments, a separate database may be provided for users to post the listings on the auction system 10. In these circumstances, the listings may then be periodically transferred to a further database, for example the database 36 in FIG. 1, which buyers may then search in order to bid on the listing.

Once the database 36 including all the listings has been searched, the search results are then processed to generate a suggested category (or categories) in which the user may list his or her product (goods and/or services), as shown at block 116. After the results have been processed, they may be displayed to the user in the results section 96 of the user interface or web page 92 (see also the display results component 88 and the process search results component 86 in FIG. 4), as shown in block 118.

As can be seen from the results section 96 in FIG. 5, in one embodiment the method 100 includes providing a plurality of suggested categories wherein the user may select a particular category which the user believes to be the most appropriate category for his or her listing. Accordingly, as shown at block 120, the method 100 monitors selection of one of the suggested categories and, upon activation of a save button 122 (see FIG. 5), the category selected by the user may then be saved as the suggested main category in which the listing is to be stored. However, in the event of the user rejecting the proposed or suggested categories, the user may then activate a cancel button 124 which cancels the suggested categories. In one embodiment, the web page 92 is then again presented to the user to enter alternative keywords in the listing criteria field 94. As described in more detail below, the results section 96 also provides the user with percentage of items found indicators 126 (only a few which are referenced in FIG. 5) in order to assist the user in identifying an appropriate category for his or her listing.

As mentioned above, when the user activates the save button 122, the selected category may then be saved as the appropriate main category for the listing (see block 128). Thereafter, the method 100 renders a find second suggested category interface or web page 130 (see block 132) so that a second suggested category may be suggested to the user. The second suggested category interface 130 substantially resembles the first suggested main category interface or web page 92 and, accordingly, like reference numerals have been used to indicate the same or similar features. One particular difference between the two web pages 92, 130, is the information provided in the title bars 134 and 136 of the web pages 92, 130 respectively. In particular, the title bar 134 identifies that the user may select a suggested main category, and the title bar 136 indicates that the user may select a suggested second category.

As shown in optional block 138, the method 100 may optionally pre-populate the listing identification criteria previously entered by the user in the listing criteria field 94. However, any category selected by the user as a main category is then excluded from the suggested categories provided in the results section 96 as a suggested second category. For example, if the user has selected the category 140 entitled “Toys and Hobbies; Classic Toys; Other”, then this particular category is riot displayed in the results section 96 of the second suggested category interface 130.

Alternatively, the user may then enter further search criteria or keywords in the listing criteria field 94 of the suggested second category interface or web page 130 and, thereafter, activate the find button 106. As in the case above, the method 100 then repeats the functionality set out in blocks 110-132 to obtain and present the suggested second categories to the user (see block 142). Thereafter, as shown at block 144, the method 100 may store the listing in the main or first and second categories selected by the user.

The functionality executed in block 116 (see FIG. 8A), wherein the results from the search of the database 36 are processed to generate a suggested category or categories, may vary from embodiment to embodiment. Reference numeral 150 in FIG. 9 shows exemplary functionality which may be executed in one embodiment of the invention. In particular, at block 152, the process search results component 86 may search listings in the database 36 to identify all items listed that, for example, have the search criteria entered by the user in the “title” of existing listings (see block 152). Thereafter, the process search results component 86 may identify all categories in which the found listings are located (see block 154) whereafter the process search results component 86 determines the number of occurrences of found listings in each category (see block 156). Returning to the example illustrated in the drawings, if the listing criteria included the keywords “silly putty”, the method 100 may identify four categories wherein corresponding or similar listings were found with the keyword silly putty in the title such as, “Toys and Hobbies: Classic Toys; Other”, “Toys and Hobbies: Crafting, Art Supplies: Arts and Crafts: Other”, “Books: Nonfiction: Humor”, and so on as shown in the results section 96 of FIG. 5. Thereafter, as shown at block 158, the process search results component 86 may determine the occurrence of listings located in each category as a percentage of a total number of occurrences in all categories (see block 158). As shown in FIGS. 5 and 6, the percentage of items found in each category may be presented to the user in the suggested main category interface or web page 92, and in the suggested second category interface or web page 130.

In one embodiment, in order to make the results displayed or presented to the user more meaningful, various filters may be applied to filter the process results. For example, filters may be applied to refine the search results (see block 160) so that only those categories in which a predetermined minimum number of listings are found or considered. For example, if the predetermined minimum is one percent, any category wherein the number of occurrences of found listings is less than one percent may be eliminated. In other embodiments, various weights may be attached to or associated with the various categories.

Circumstances may, however, arise in which no categories are found in which similar listings, identified by the search criteria in the criteria identification field 94, are found. In these circumstances, the method 100 may generate a user interface or web page 162 (see FIG. 6) which renders feedback to the user and allows the user to enter alternative search criteria. The method 100 may also merely provide an indicator to the user that the selected search criteria did not identify or locate a category.

FIG. 10 shows a diagrammatic representation of machine in the exemplary form of a computer system 200 within which a set of instructions, for causing the machine to perform any one of the methodologies discussed above, may be executed. In alternative embodiments, the machine may comprise a network router, a network switch, a network bridge, Personal Digital Assistant (PDA), a cellular telephone, a web appliance or any machine capable of executing a sequence of instructions that specify actions to be taken by that machine.

The computer system 200 includes a processor 202, a main memory 204 and a static memory 206, which communicate with each other via a bus 208. The computer system 200 may further include a video display unit 210 (e.g., a liquid crystal display (LCD) or cathode ray tube (CRT). The computer system 200 also includes an alphanumeric input device 212 (e.g. a keyword), a cursor control device 214 (e.g. a mouse) a disk drive unit 216, a signal generation device 218 (e.g. a speaker) and a network interface device 220.

The disk drive unit 216 includes a machine-readable medium 222 on which is stored a set of instructions (i.e., software) 224 embodying any one, or of the methodologies described above. The software 224 is also shown to reside, completely or at least partially, within the maim memory 204 and within the processor 202. The software 224 may further be transmitted or received via the network interface device 220. For the purposes of this specification, the term “machine-readable medium” shall be taken to include any medium which is capable of storing or encoding a sequence of instructions for execution by the machine and that cause the machine to perform any one of the methodologies of the present invention. The term “machine-readable medium” shall accordingly be taken to included, but not be limited to; solid-state memories, optical and magnetic disks, and carriers wave signals.

Thus, a method and a system for identifying a suggested category for storing a data entry in a database including a plurality of divisions is provided with reference to specific exemplary embodiments. It will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. For example, the invention may also be applied in a peer-to-peer computing environment. 

1. (canceled)
 2. A method comprising: receiving a keyword identifying new data to be stored in a database; searching the database, based on the keyword, to locate data entries stored in the database; identifying a database storage division in which the stored data entries located by the search are located based on a relevance of the database storage division, the relevance determined using a number of data entries stored in a respective database storage division as a percentage of a total number of data entries located by the search; and causing storage of the new data in the identified database storage division.
 3. The method of claim 2, wherein the database storage division is in a plurality of database storage divisions that are a plurality of categories of data entries in a database of a network-based commerce facility.
 4. The method of claim 3, wherein the network-based commerce facility is a network-based auction facility and the new data is a user listing, further comprising identifying at least one potentially relevant category for the user listing as a suggested location.
 5. The method of claim 4, herein the network-based auction facility is a web-based auction facility, further comprising: rendering a web page to the user to enter at least one user listing for auctioning by the auction facility, the web page including a listing criterion field for receiving a criterion from the user; and rendering a web page to the user in which the at least one potentially relevant category is presented to the user as the suggested location.
 6. The method of claim 5, further comprising: removing stored listings from the database that are no longer up for auction by the auction facility; adding additional listings up for auction; and searching the database based on the criterion to locate listings stored in the database that are similar to the new data to be stored, wherein the relevance of each identified category changes dynamically over a period of time as listings are added and removed from the database.
 7. The method of claim 2, further comprising: identifying a group of database storage divisions, each database storage division in the group of database storage divisions including a predetermined minimum number of stored data entries located therein; and presenting the identified group of database storage divisions to a user.
 8. The method of claim 2, further comprising: identifying a plurality of database storage divisions in which the stored data entries are located; monitoring selection of a database storage division by a user from the identified plurality of database storage divisions; and storing the new data in the database storage division selected by the user.
 9. The method of claim 8, further comprising: receiving a further entry criterion; searching the database based on the further entry criterion to locate further similar stored data entries; identifying at least one further database storage division for data entries wherein the further similar stored entries are located; in an event of the selected database storage division being identified during the search using the further entry criterion, eliminating the selected database storage division from the at least one further database storage division and presenting any remaining further database storage divisions to the user; and in an event of the selected database storage division not being identified during the search using the further entry criterion, presenting the at least one further database storage division as a further potentially relevant location to the user.
 10. The method of claim 2, further comprising: identifying a plurality of categories in which the stored data entries are located; and determining a relevance of each category identified based on one of a weight associated with a respective category and a price range of the stored data entries in the respective category.
 11. A non-transitory machine-readable hardware storage device including a set of instructions, that when executed by a processor, cause the processor to perform operations comprising: receiving a keyword identifying new data to be stored in a database; searching the database, based on the keyword, to locate data entries stored in the database; identifying a database storage division in which the stored data entries located by the search are located based on a relevance of the database storage division, the relevance determined using a number of data entries stored in a respective database storage division as a percentage of a total number of data entries located by the search; and causing storage of the new data in the identified database storage division.
 12. The non-transitory machine-readable hardware storage device of claim 11, wherein the database storage division is in a plurality of database storage divisions that are a plurality of categories of data entries in a database of a network-based commerce facility.
 13. The non-transitory machine-readable hardware storage device of claim 12, wherein the network-based commerce facility is a network-based auction facility and the new data is a user listing, further comprising identifying at least one potentially relevant category for the user listing as a suggested location.
 14. The non-transitory machine-readable hardware storage device of claim 13, wherein the network-based auction facility is a web-based auction facility, further comprising operations for: rendering a web page to he user to enter at least one user listing for auctioning by the auction facility, the web page including a listing criterion field for receiving a criterion from the user; and rendering a web page to the user in which the at least one potentially relevant category is presented to the user as the suggested location.
 15. The non-transitory machine-readable hardware storage device of claim 14, further comprising operations for: removing stored listings from the database that are no longer up for auction by the auction facility; adding additional listings up for auction; and searching the database based on the criterion to locate listings stored in the database that are similar to the new data to be stored, wherein the relevance of each identified category changes dynamically over a period of time as listings are added and removed from the database.
 16. The non-transitory machine-readable hardware storage device of claim 11 further comprising operations for: identifying a group of database storage divisions, each database storage division in the group of database storage divisions including a predetermined minimum number of stored data entries located therein; and presenting the identified group of database storage divisions to a user.
 17. The non-transitory machine-readable hardware storage device of claim 11, further comprising operations for: identifying a plurality of database storage divisions in which the stored data entries are located; monitoring selection of a database storage division by a user from the identified plurality of database storage divisions; and storing the new data in the database storage division selected by the user.
 18. The non-transitory machine-readable hardware storage device of claim 17, further comprising operations for: receiving a further entry criterion; searching the database based on the further entry criterion to locate further similar stored data entries; identifying at least one further database storage division for data entries herein the further similar stored entries are located; in an event of the selected database storage division being identified during the search using the further entry criterion, eliminating the selected database storage division from the at least one further database storage division and presenting any remaining further database storage divisions to the user; and in an event of the selected database storage division not being identified during the search using the further entry criterion, presenting the at least one further database storage division as a further potentially relevant location to the user.
 19. The non-transitory machine-readable hardware storage device of claim 11 further comprising operations for: identifying a plurality of categories in which the stored data entries are located; and determining a relevance of each category identified based on one of a weight associated with a respective category and a price range of the stored data entries in the respective category.
 20. A system comprising: one or more processors configured to perform operations comprising: receiving a keyword identifying new data to be stored in a database; searching the database, based on the keyword, to locate data entries stored in the database; identifying a database storage division in which the stored data entries located by the search are located based on a relevance of the database storage division, the relevance determined using a number of data entries stored in a respective database storage division as a percentage of a total number of data entries located by the search; and causing storage of the new data in the identified database storage division.
 21. The system of claim 20, wherein the database storage division is in a plurality of database storage divisions that are a plurality of categories of data entries in a database of a network-based commerce facility. 